

; Regla que recomienda el modelo 210-1010ss si se cumplen todos sus
; requisitos (consultar lista de modelos).

(defrule 210-1010ss
	(sistema (nombre ?nombreSO)(version ?version)(bits ?bits))
	(test (or (eq ?nombreSO "n")(eq ?nombreSO "Windows")))
	(test (or (eq "n" ?version)(eq ?version "7")))	
	(test (or (eq 0 ?bits)(eq ?bits 32)))
	(procesador (fabricante ?fab)(modelo ?mod)(velocidad_min ?v1)(velocidad_max ?v2))
	(test (or (eq "n" ?fab)(eq ?fab "Intel")))
	(test (or (eq "n" ?mod)(eq ?mod "Atom N450")))
	(test (or (eq ?v1 0.0)(<= ?v1 1.66)))
	(test (or (eq ?v2 0.0)(>= ?v2 1.66)))
	(memoria (actual_min ?mem1)(actual_max ?mem2))
	(test (or (eq ?mem1 0)(<= ?mem1 1)))
	(test (or (eq ?mem2 0)(>= ?mem2 1)))
	(disco (tam_min ?tam1)(tam_max ?tam2))
	(test (or (eq ?tam1 0)(<= ?tam1 250)))
	(test (or (eq ?tam2 0)(>= ?tam2 250)))	
	(pantalla (modelo ?modPan)(tam_min ?pan1)(tam_max ?pan2))
	(test (or (eq ?modPan "n")(eq ?modPan "LED")))
	(test (or (eq ?pan1 0.0)(<= ?pan1 10.1)))
	(test (or (eq ?pan2 0.0)(>= ?pan2 10.1)))
	(grafica (fabricante ?fabGraf)(modelo ?graf))
	(test (or (eq ?fabGraf "n")(eq ?fabGraf "Intel")))
	(test (or (eq ?graf "n")(eq ?graf "Accelerator 3150")))
	(conexiones (wifi ?wifi)(blue ?blue))
	(test (or (eq ?wifi "n")(eq ?wifi "Si")))
	(test (or (eq ?blue "n")(eq ?blue "No")))
	(otros (celdas ?celdas)(peso_min ?pMin)(peso_max ?pMax))
	(test (or (eq ?celdas 0)(eq ?celdas 3)))	
	(test (or (eq ?pMin 0.0)(<= ?pMin 1.22)))
	(test (or (eq ?pMax 0.0)(>= ?pMax 1.22)))
	(precio (cantidad_min ?p1))
	(precio (cantidad_max ?p2))
	(test (or (eq ?p1 0.0)(<= ?p1 279)))
	(test (or (eq ?p2 0.0)(>= ?p2 279)))
	=>
	(assert (modelo_aconsejado (modelo MiniHome:210-1010ss)))
)

; Regla que recomienda el modelo 210-1020ss si se cumplen todos sus
; requisitos (consultar lista de modelos).

(defrule 210-1020ss
	(sistema (nombre ?nombreSO)(version ?version)(bits ?bits))
	(test (or (eq ?nombreSO "n")(eq ?nombreSO "Windows")))
	(test (or (eq "n" ?version)(eq ?version "7")))	
	(test (or (eq 0 ?bits)(eq ?bits 32)))
	(procesador (fabricante ?fab)(modelo ?mod)(velocidad_min ?v1)(velocidad_max ?v2))
	(test (or (eq "n" ?fab)(eq ?fab "Intel")))
	(test (or (eq "n" ?mod)(eq ?mod "Atom N450")))
	(test (or (eq ?v1 0.0)(<= ?v1 1.66)))
	(test (or (eq ?v2 0.0)(>= ?v2 1.66)))
	(memoria (actual_min ?mem1)(actual_max ?mem2))
	(test (or (eq ?mem1 0)(<= ?mem1 1)))
	(test (or (eq ?mem2 0)(>= ?mem2 1)))
	(disco (tam_min ?tam1)(tam_max ?tam2))
	(test (or (eq ?tam1 0)(<= ?tam1 250)))
	(test (or (eq ?tam2 0)(>= ?tam2 250)))	
	(pantalla (modelo ?modPan)(tam_min ?pan1)(tam_max ?pan2))
	(test (or (eq ?modPan "n")(eq ?modPan "LED")))
	(test (or (eq ?pan1 0.0)(<= ?pan1 10.1)))
	(test (or (eq ?pan2 0.0)(>= ?pan2 10.1)))
	(grafica (fabricante ?fabGraf)(modelo ?graf))
	(test (or (eq ?fabGraf "n")(eq ?fabGraf Intel)))
	(test (or (eq ?graf "n")(eq ?graf "Accelerator 3150")))
	(conexiones (wifi ?wifi)(blue ?blue))
	(test (or (eq ?wifi "n")(eq ?wifi "Si")))
	(test (or (eq ?blue "n")(eq ?blue "No")))
	(otros (celdas ?celdas)(peso_min ?pMin)(peso_max ?pMax))
	(test (or (eq ?celdas 0)(eq ?celdas 3)))	
	(test (or (eq ?pMin 0.0)(<= ?pMin 1.22)))
	(test (or (eq ?pMax 0.0)(>= ?pMax 1.22)))
	(precio (cantidad_min ?p1))
	(precio (cantidad_max ?p2))
	(test (or (eq ?p1 0.0)(<= ?p1 329)))
	(test (or (eq ?p2 0.0)(>= ?p2 329)))
	=>
	(assert (modelo_aconsejado (modelo MiniHome:210-1020ss)))
)

; Regla que recomienda el modelo 210-1085es si se cumplen todos sus
; requisitos (consultar lista de modelos).

(defrule 210-1085es
	(sistema (nombre ?nombreSO)(version ?version)(bits ?bits))
	(test (or (eq ?nombreSO "n")(eq ?nombreSO "Windows")))
	(test (or (eq "n" ?version)(eq ?version "7")))	
	(test (or (eq 0 ?bits)(eq ?bits 32)))
	(procesador (fabricante ?fab)(modelo ?mod)(velocidad_min ?v1)(velocidad_max ?v2))
	(test (or (eq "n" ?fab)(eq ?fab "Intel")))
	(test (or (eq "n" ?mod)(eq ?mod "Atom N450")))
	(test (or (eq ?v1 0.0)(<= ?v1 1.66)))
	(test (or (eq ?v2 0.0)(>= ?v2 1.66)))
	(memoria (actual_min ?mem1)(actual_max ?mem2))
	(test (or (eq ?mem1 0)(<= ?mem1 1)))
	(test (or (eq ?mem2 0)(>= ?mem2 1)))
	(disco (tam_min ?tam1)(tam_max ?tam2))
	(test (or (eq ?tam1 0)(<= ?tam1 160)))
	(test (or (eq ?tam2 0)(>= ?tam2 160)))	
	(pantalla (modelo ?modPan)(tam_min ?pan1)(tam_max ?pan2))
	(test (or (eq ?modPan "n")(eq ?modPan "LED")))
	(test (or (eq ?pan1 0.0)(<= ?pan1 10.1)))
	(test (or (eq ?pan2 0.0)(>= ?pan2 10.1)))
	(grafica (fabricante ?fabGraf)(modelo ?graf))
	(test (or (eq ?fabGraf "n")(eq ?fabGraf "Intel")))
	(test (or (eq ?graf "n")(eq ?graf "Accelerator 3150")))
	(conexiones (wifi ?wifi)(blue ?blue))
	(test (or (eq ?wifi "n")(eq ?wifi "Si")))
	(test (or (eq ?blue "n")(eq ?blue "Si")))
	(otros (celdas ?celdas)(peso_min ?pMin)(peso_max ?pMax))
	(test (or (eq ?celdas 0)(eq ?celdas 6)))	
	(test (or (eq ?pMin 0.0)(<= ?pMin 1.22)))
	(test (or (eq ?pMax 0.0)(>= ?pMax 1.22)))
	(precio (cantidad_min ?p1))
	(precio (cantidad_max ?p2))
	(test (or (eq ?p1 0.0)(<= ?p1 250)))
	(test (or (eq ?p2 0.0)(>= ?p2 250)))
	=>
	(assert (modelo_aconsejado (modelo MiniHome:210-1085es)))
)

; Regla que recomienda el modelo 110-1150ss si se cumplen todos sus
; requisitos (consultar lista de modelos).

(defrule 110-1150ss
	(sistema (nombre ?nombreSO)(version ?version)(bits ?bits))
	(test (or (eq ?nombreSO "n")(eq ?nombreSO "Windows")))
	(test (or (eq "n" ?version)(eq ?version "7")))	
	(test (or (eq 0 ?bits)(eq ?bits 32)))
	(procesador (fabricante ?fab)(modelo ?mod)(velocidad_min ?v1)(velocidad_max ?v2))
	(test (or (eq "n" ?fab)(eq ?fab "Intel")))
	(test (or (eq "n" ?mod)(eq ?mod "Atom N270")))
	(test (or (eq ?v1 0.0)(<= ?v1 1.6)))
	(test (or (eq ?v2 0.0)(>= ?v2 1.6)))
	(memoria (actual_min ?mem1)(actual_max ?mem2))
	(test (or (eq ?mem1 0)(<= ?mem1 1)))
	(test (or (eq ?mem2 0)(>= ?mem2 1)))
	(disco (tam_min ?tam1)(tam_max ?tam2))
	(test (or (eq ?tam1 0)(<= ?tam1 250)))
	(test (or (eq ?tam2 0)(>= ?tam2 250)))	
	(pantalla (modelo ?modPan)(tam_min ?pan1)(tam_max ?pan2))
	(test (or (eq ?modPan "n")(eq ?modPan "SD")))
	(test (or (eq ?pan1 0.0)(<= ?pan1 10.1)))
	(test (or (eq ?pan2 0.0)(>= ?pan2 10.1)))
	(grafica (fabricante ?fabGraf)(modelo ?graf))
	(test (or (eq ?fabGraf "n")(eq ?fabGraf "Intel")))
	(test (or (eq ?graf "n")(eq ?graf "Media Accelerator 950")))
	(conexiones (wifi ?wifi)(blue ?blue))
	(test (or (eq ?wifi "n")(eq ?wifi Si)))
	(test (or (eq ?blue "n")(eq ?blue Si)))
	(otros (celdas ?celdas)(peso_min ?pMin)(peso_max ?pMax))
	(test (or (eq ?celdas 0)(eq ?celdas 3)))	
	(test (or (eq ?pMin 0.0)(<= ?pMin 1.17)))
	(test (or (eq ?pMax 0.0)(>= ?pMax 1.17)))
	(precio (cantidad_min ?p1))
	(precio (cantidad_max ?p2))
	(test (or (eq ?p1 0.0)(<= ?p1 359)))
	(test (or (eq ?p2 0.0)(>= ?p2 359)))
	=>
	(assert (modelo_aconsejado (modelo MiniHome:110-1150ss)))
)

; Regla que recomienda el modelo 110-1170ss si se cumplen todos sus
; requisitos (consultar lista de modelos).

(defrule 110-1170ss
	(sistema (nombre ?nombreSO)(version ?version)(bits ?bits))
	(test (or (eq ?nombreSO "n")(eq ?nombreSO "Windows")))
	(test (or (eq "n" ?version)(eq ?version "7")))	
	(test (or (eq 0 ?bits)(eq ?bits 32)))
	(procesador (fabricante ?fab)(modelo ?mod)(velocidad_min ?v1)(velocidad_max ?v2))
	(test (or (eq "n" ?fab)(eq ?fab "Intel")))
	(test (or (eq "n" ?mod)(eq ?mod "Atom N280")))
	(test (or (eq ?v1 0.0)(<= ?v1 1.66)))
	(test (or (eq ?v2 0.0)(>= ?v2 1.66)))
	(memoria (actual_min ?mem1)(actual_max ?mem2))
	(test (or (eq ?mem1 0)(<= ?mem1 1)))
	(test (or (eq ?mem2 0)(>= ?mem2 1)))
	(disco (tam_min ?tam1)(tam_max ?tam2))
	(test (or (eq ?tam1 0)(<= ?tam1 250)))
	(test (or (eq ?tam2 0)(>= ?tam2 250)))	
	(pantalla (modelo ?modPan)(tam_min ?pan1)(tam_max ?pan2))
	(test (or (eq ?modPan "n")(eq ?modPan "SD")))
	(test (or (eq ?pan1 0.0)(<= ?pan1 10.1)))
	(test (or (eq ?pan2 0.0)(>= ?pan2 10.1)))
	(grafica (fabricante ?fabGraf)(modelo ?graf))
	(test (or (eq ?fabGraf "n")(eq ?fabGraf "Intel")))
	(test (or (eq ?graf "n")(eq ?graf "Media Accelerator 950")))
	(conexiones (wifi ?wifi)(blue ?blue))
	(test (or (eq ?wifi "n")(eq ?wifi "Si")))
	(test (or (eq ?blue "n")(eq ?blue "Si")))
	(otros (celdas ?celdas)(peso_min ?pMin)(peso_max ?pMax))
	(test (or (eq ?celdas 0)(eq ?celdas 6)))	
	(test (or (eq ?pMin 0.0)(<= ?pMin 1.17)))
	(test (or (eq ?pMax 0.0)(>= ?pMax 1.17)))
	(precio (cantidad_min ?p1))
	(precio (cantidad_max ?p2))
	(test (or (eq ?p1 0.0)(<= ?p1 369)))
	(test (or (eq ?p2 0.0)(>= ?p2 369)))
	=>
	(assert (modelo_aconsejado (modelo MiniHome:110-1170ss)))
)
